/*
 * Copyright 2020-2030 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
*/

package com.gitee.minimalismstyle.fresh.tms.api.model

import com.gitee.minimalismstyle.fresh.common.data.beetl.model.LongModel
import io.swagger.annotations.*
import java.time.LocalDateTime


/**
 * 任务Dto
 * @author maoxiaodong
*/
@ApiModel(value = "任务")
open class TmsTask: LongModel(){

    /**
    * 代码
    */
    @ApiModelProperty(value = "代码")
    var code: String? = null

    /**
    * 名称
    */
    @ApiModelProperty(value = "名称")
    var name: String? = null

    /**
    * 描述
    */
    @ApiModelProperty(value = "描述")
    var description: String? = null

    /**
    * 状态
    */
    @ApiModelProperty(value = "状态")
    var status: String? = null

    /**
    * 优先级
    */
    @ApiModelProperty(value = "优先级")
    var priority: Int? = null

    /**
    * 计划开始时间
    */
    @ApiModelProperty(value = "计划开始时间")
    var planStartTime: LocalDateTime? = null

    /**
    * 计划结束时间
    */
    @ApiModelProperty(value = "计划结束时间")
    var planEndTime: LocalDateTime? = null

    /**
    * 计划工时
    */
    @ApiModelProperty(value = "计划工时")
    var planWorktime: LocalDateTime? = null

    /**
    * 计划执行人
    */
    @ApiModelProperty(value = "计划执行人")
    var planExecuteUserId: Long? = null

    /**
    * 实际开始时间
    */
    @ApiModelProperty(value = "实际开始时间")
    var startTime: LocalDateTime? = null

    /**
    * 实际结束时间
    */
    @ApiModelProperty(value = "实际结束时间")
    var endTime: LocalDateTime? = null

    /**
    * 实际工时
    */
    @ApiModelProperty(value = "实际工时")
    var worktime: Int? = null

    /**
    * 实际执行人
    */
    @ApiModelProperty(value = "实际执行人")
    var executeUserId: Long? = null

    /**
    * 父任务ID
    */
    @ApiModelProperty(value = "父任务ID")
    var parentId: Long? = null

    /**
    * 上一个任务
    */
    @ApiModelProperty(value = "上一个任务")
    var prevId: Long? = null
}